package java8.deom2;

import java.awt.event.ActionListener;
import java.util.function.BinaryOperator;

public class Test2 {

	
	

	
	
	public static void main(String[] args) {

		//1.使用 空 括号() 表示 没有 参数。
		Runnable noArguments = () -> System. out. println(" Hello World");		
		
		//2.表达式 包含 且 只 包含 一个 参数， 可省略 参数 的 括号
		ActionListener oneArgument = event -> System. out. println(" button clicked");
		
		//3.Lambda 表达式 的 主体 不仅 可以 是 一个 表达式， 而且 也可以 是一 段 代码 块， 使用 大 括号（{}）
		//只有 一行 代码 的 Lambda 表达式 也可 使用 大 括号， 用以 明确 Lambda 表达式 从何 处 开始、 到 哪里 结束。
		Runnable multiStatement = () -> { 
			System. out. print(" Hello"); System. out. println(" World");
			};

		//4.多个 参数 的 方法
		//这 行 代码 并不 是将 两个 数字 相加， 而是 创建 了 一个 函数， 用来 计算 两个 数字 相加 的 结果。 
		//变量 add 的 类型 是 BinaryOperator< Long>， 它不 是 两个 数字 的 和， 而是 将 两个 数字 相加 的 那 行 代码。
		BinaryOperator< Long> add = (x, y) -> x + y;
		
		//5.显 式 声明 参数 类型
		BinaryOperator< Long> addExplicit = (Long x, Long y) -> x + y;

		
		
		
		
		
	}
	
	
	
	
	
	
	
	
}
